package com.czwx.bee.business.manager.modular.borrow.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 借款信息表实体
 * 
 */

@Data
@NoArgsConstructor
@AllArgsConstructor
 public class Borrow implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 主键Id
	 */
	private Long id;

	/**
	 * 用户id
	 */
	private Long userId;

	/**
	 * 订单号
	 */
	private String orderNo;

	/**
	 * 借款金额
	 */
	private Double amount;

	/**
	 * 实际到账金额
	 */
	private Double realAmount;

	/**
	 * 综合费用(借款利息+服务费+信息认证费)
	 */
	private Double fee;

	/**
	 * 订单生成时间
	 */
	private Date createTime;

	/**
	 * 借款期数
	 */
	private String timeLimit;

	/**
	 * 订单状态 10 申请成功待审核 20自动审核通过 21自动审核不通过 22自动审核未决待人工复审 26人工复审通过 27人工复审不通过
	 * 30放款成功 40还款成功 50逾期 90坏账
	 */
	private String state;

	/**
	 * 是否分期 1分期 0不分期
	 */
	private String period;
	
	/**
	 * 1是周 2是月
	 */
	private String cycle;
	
	/**
	 * 每期应还金额
	 */
	private Double eachPeriodAmount;
	
	/**
	 * 贷后管理费
	 */
	private Double loanFee;
	/**
	 * 收款银行卡关联id
	 */
	private Long cardId;

	/**
	 * 服务费
	 */
	private Double serviceFee;

	/**
	 * 信息认证费
	 */
	private Double infoAuthFee;

	/**
	 * 借款利息
	 */
	private Double interest;

	/**
	 * 客户端 默认10-移动app
	 */
	private String client;

	/**
	 * 借款地址
	 */
	private String address;

	/**
	 * 借款坐标
	 */
	private String coordinate;
	
	/**
	 * 备注、审核说明
	 */
	private String remark;
	

	private Double actualLoanAmount;
	/**
	 * 借款ip
	 */
	private String ip;
	
	/**
	 * 渠道id
	 */
	private Long channelId;
	
	/**
	 * 是否已经查看放款详情(第三方) 1是 0否
	 */
	private Integer checkBackDetail;
	
	/**
	 * 是否点击确认还款成功返回首页(第三方)1是 0否
	 */
	private Integer returnHomepage;
	
	/**
	 * 是否点击 放款失败，重新申请 0未点击 1点击
	 */
	private Integer advanceReApply;
	
	/**
	 * 还款失败原因标志（0，非余额不足，1、余额不足）
	 */
	private Integer insufficientBalance;
	
	/**
	 *  还款次数
	 */
	private Integer repayCount;
	
	/**
	 * 渠道名称
	 */
	private String channelName;
	/**
	 * 拒绝原因
	 */
	private String reason;
	
	/**
	 * 更新时间
	 */
	private Date updateTime;
	
	/**
	 * 拒绝状态0照片原因,1 非照片原因
	 */
	private Integer refuseStatus;
	
	/**
	 * 拒绝原因(新)
	 */
	private String refuseRemark;
	
	/**
	 * 拒绝详情(新)
	 */
	private String refuseDetail;
	/**
	 * 是否通过第三方认证，0未认证，默认值是1
	 */
	private String thirdAuth;
	/**
	 * 卡牛订单编号
	 */
	private String orderCode;
	
	/**
	 * 订单是否被认领 1:认领  0:未被认领
	 */
	private Integer isClaim;

	/**
	 * 被认领的系统用户表的id
	 */
	private Long claimSysUserId;

	/**
	 * 借款用途
	 */
	private String loanUse;

	public Borrow(Long userId, Double amount, String timeLimit, Long cardId, String client, String address,
                  String coordinate, String ip) {
		super();
		this.userId = userId;
		this.amount = amount;
		this.timeLimit = timeLimit;
		this.cardId = cardId;
		this.client = client;
		this.address = address;
		this.coordinate = coordinate;
		this.ip = ip;
	}
}